package avicit.bdp.dcs.threshold;

import avicit.bdp.dcs.threshold.other.DataSyncOracle2MysqlTest;
import avicit.bdp.dcs.threshold.utils.TestUtils;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;

/**
 * @金航数码科技有限责任公司
 * @作者：developer
 * @邮箱：developer@avic-digital.com
 * @创建时间： 2020-06-24 14:54
 * @类说明：ProcessDefinitionRest
 * @修改记录：
 * @注意事项：
 */
@RunWith(Suite.class)
@Suite.SuiteClasses(
        {
                TestUtils.class,
//                DataMigrationTest.class,
//                DataSyncTest.class,
//                DataSyncIncrementTest.class,
//                DataSyncScheduleTest.class,
//                DataMigrationMysql2OracleTest.class,
//                DataMigrationMysql2PgTest.class,
//                DataMigrationOracle2MysqlTest.class,
//                DataMigrationOracle2OracleTest.class,
//                DataMigrationOracle2PgTest.class,
//                DataMigrationPg2MysqlTest.class,
//                DataMigrationPg2OracleTest.class,
//                DataSyncMysql2GpTest.class,
//                DataSyncMysql2HiveTest.class,
//                DataSyncOracle2HiveTest.class,
//                DataSyncPg2HiveTest.class,

//                DataSyncMysql2OracleTest.class,
                DataSyncOracle2MysqlTest.class,

//                  DataSyncDm2GpTest.class,
//                  DataSyncDm2OracleTest.class,
//                  DataSyncMysql2DmTest.class,
//                  DataSyncPg2DmTest.class,
//                ExecutorTest.class,
//                BatchExecutorTest.class,
//                ConcurrencyTest.class,
//                FailureTest.class
        }
)
public class JobTestSuite {
    /******************** 1、基本用例； ********************/
    /*
     * （1）DataMigrationTest，数据迁移；
     * （2）DataSyncTest，数据同步；
     * （3）DataSyncIncrementTest，增量同步；
     * （4）DataSyncScheduleTest，定时任务；
     * （5）DataSyncScheduleIncrementTest，定时增量同步；
     * （6）DataMigrationMysql2PgTest,数据迁移（Mysql-Pg）
     * （7）DataMigrationPg2MysqlTest,数据迁移（Pg-Mysql）
     * （8）DataMigrationMysql2OracleTest,数据迁移（Mysql-Oracle）
     * （9）DataMigrationOracle2MysqlTest,数据迁移（Oracle-Mysql）
     * （10）DataMigrationPg2OracleTest,数据迁移（Pg-Oracle）
     * （11）DataMigrationOracle2PgTest,数据迁移（Oracle-Pg）
     * （12）DataMigrationPg2PgTest,数据迁移（Pg-Pg）
     * （13）DataMigrationOracle2OracleTest,数据迁移（Oracle-Oracle）
     */

     /******************** 2、基本操作用例；（ExecutorTest.class） ********************/
     /*
      * （1）启动任务，然后再次启动任务；
      * （2）启动任务，然后停止任务；
      * （3）启动任务，然后删除任务；
      * （4）创建任务（未启动），然后停止任务；
      * （5）创建任务（未启动），然后删除任务；
      * （6）获取数据迁移任务列表；
      * （7）获取数据同步任务列表；
     */

      /******************** 3、批量测试用例；（BatchExecutorTest.class） ********************/
      /*
       * （1）批量创建任务；
       * （2）批量创建任务，然后批量启动任务；
       * （3）批量创建任务，批量启动任务，等待任务执行完成后，批量删除任务；
       * （4）批量创建任务，批量启动任务，然后批量停止任务；
       * （5）批量创建任务，批量启动任务，然后批量删除任务；
      */

      /******************** 4、并发测试用例；（BatchExecutorTest.class） ********************/
      /*
       * （1）并发创建任务；
       * （2）并发创建任务，然后并发启动任务；
       * （3）并发创建任务，并发启动任务，等待任务执行完成后，并发删除任务（非批量）；
       * （4）并发创建任务，并发启动任务，并发停止任务；
       * （5）并发创建任务，并发启动任务，并发删除任务；
      */

      /******************** 5、SFMEA(异常场景)测试用例；（FailureTest.class） ********************/
      /*
       * （1）// TODO:
       * （2）// TODO:
       * （3）// TODO:
       * （4）// TODO:
       * （5）// TODO:
      */
}
